-- KEYS[1]: 锁的键名
-- ARGV[1]: 线程ID
-- ARGV[2]: 锁超时时间(秒)

local key = KEYS[1]
local threadId = ARGV[1]
local timeout = tonumber(ARGV[2]) or 30

if redis.call('hexists', key, threadId) == 1 then
    redis.call('expire', key, timeout)
    return 1
end
return 0
